<?php
namespace model;

class NewUserModel {
    private $applicationModel;


    /**
    *
    */
    public function __construct() {
        $this->applicationModel = new \model\ApplicationModel();
    }


    /**
    * @param string $username
    *
    * här noterar vi i sessionen att registeringen av en ny användare lyckades
    */
	public function setNewUser($username) {
        $_SESSION[$this->applicationModel->m_sessionRegisteredUserOk] = true;
    }


    /**
    * här noterar vi i sessionen att registeringen av en ny användare misslyckades
    */
    public function resetNewUser() {
        $_SESSION[$this->applicationModel->m_sessionRegisteredUserOk] = false;
    }


    /**
    * @return bolean
    *
    * här kollar vi om användaren registrerat ett nytt användarnamn
    */
    public function hasRegisteredNewUser() {
         if (isset($_SESSION[$this->applicationModel->m_sessionRegisteredUserOk])) {
            if ($_SESSION[$this->applicationModel->m_sessionRegisteredUserOk]==true) {
             $_SESSION[$this->applicationModel->m_sessionRegisteredUserOk] = false ;
             return true;
            } else {
                    return false;
            }
         } else {
                return false;
        }
    }


    /**
    * @param string $username
    * @return bolean
    *
    * här kollar vi om användarnamnet
    */
    public function isUsernameToShort($username) {
       if (strlen($username) < $this->applicationModel->m_minNumberUsername) {
           return true;
       }
       else {
        return false;
       }
    }


    /**
    * @param string $password
    * @return bolean
    *
    * här kollar vi om löseordet är tillräckligt långt
    */
    public function isPasswordToShort($passsword) {
       if (strlen($passsword) < $this->applicationModel->m_minNumberPassword) {
           return true;
       }
       else {
        return false;
       }
    }


    /**
    * @param string $password
    * @param string $retypedPassword)
    * @return bolean
    *
    * här kollar vi om de två inmatade lösenorden är likadana
    */
    public function doesPasswordsNotMatch($password, $retypedPassword) {
       if ($password !=  $retypedPassword) {
           return true;
       }
       else {
        return false;
       }
    }


    /**
    * @param string $username
    * @return bolean
    *
    * här kollar vi om användarnamnet innehåller otillåtna tecken
    */
    public function hasUsernameInvalidChars($username)     {
       if (preg_match("/<[^<]+>/",$username,$m) == 1) {                         //<-preg_match() inbyggd metod som kollar regEx

           return true;
       }
       else {
        return false;
       }
    }


}

